﻿@model MvcDemo.Models.News
@{
    ViewBag.Title = "添加新闻，采用form提交方式(注意提交后的url变化)";
}

<h2>添加新闻，采用弱类型获取提交值,后台用FormCollection接收多个参数(推荐此写法)</h2>
<br />
注意：input name 和id 最好一致都写上，不然后台action不能获取到(有些浏览器是取name 有些是取id)
<br />
这种不好赋值
<br />
<br />
<form action="@Url.Action("Add3")" method="post">
    标题:<input type="text" name="title" id="title" value="@ViewBag.title2" /><br />
    内容:<input type="text" name="info" id="info" value="@ViewBag.info" /><br />
    年龄:<input type="text" name="age" id="age" value="@ViewBag.age" /> 这里注意，如果是非数字类型，后台取不到<br />
    <button type="submit">提交</button> | <button type="button" onclick="sub()">ajax提交</button>
</form>
<br />
@if (!string.IsNullOrEmpty(ViewBag.result))
{
    @*这里显示提交的内容*@
    @ViewBag.code
}

@section scripts
{

    <script>
        function sub() {
            var errorInfo = '';
            if ($("#title").val().length == 0) {
                errorInfo += "标题必填\n";
            }

            if ($("#info").val().length == 0) {
                errorInfo += "内容必填\n";
            }

            if ($("#age").val().length == 0) {
                errorInfo += "年龄必填\n";
            }

            if (errorInfo.length > 0) {
                alert(errorInfo);
                return;
            }

            var par = JSON.stringify({ title: $("#title").val(), info: $("#info").val(), age: $("#age").val() });
            console.log(par);
            $.ajax({
                type: "POST",
                url: "@Url.Action("AddJson")",
                //数据，json字符串
                data: par,
                async: false,
                contentType: "application/json",
                dataType: "json",
                success: function(result) {
                    alert(result);
                }
            });
        }
    </script>
}